Preface

<#28#><#2036#>Rayshade<#2036#><#28#> is a program for creating ray-traced images. It reads a description of a scene to be rendered and produces a color image corresponding to the description. <#29#><#2038#>Rayshade<#2038#><#29#> was designed to make it easy to create nice pictures. It was also meant to be flexible, easy to modify, and relatively fast.

The first version of <#30#><#2040#>rayshade<#2040#><#30#> was written in 1987-1988 at Princeton University with help and encouragement from David Dobkin and David Hoffman. That version was heavily based on a public-domain ``introductory'' ray tracer written by Roman Kuchkuda. Changes to <#31#><#2042#>rayshade<#2042#><#31#> from that point until version 4.0 were evolutionary in nature. The current version is to a large extent a re-write, and an attempt has been made to remove some of the fundamental problems present in previous incarnations.

I wish to thank the many people who have made contributions to the development of <#32#><#2044#>rayshade<#2044#><#32#> during the past four years. Thanks to Marc Andreessen, Ray Bellis, Dominique Boisvert, William Bouma, Allen Braunsdorf, Jeff Butterworth, Nick Carriero, Nancy Everson, Tom Friedel, Robert Funchess, David Gelernter, Mike Gigante, Ed Herderick, John Knuston, Raphael Manfredi, Lee Moore, Dietmar Saupe, Brian Wyvill, and the hundreds of others who have provided bug-fixes, suggestions, input files, encouragement, support, and other feedback.

David Dobkin first suggested that an extensible ray tracer would be a worthwhile project. Gavin Bell, David Hoffman, Lefteris Koutsofios, and Steven North were the first users of the original <#33#><#2046#>rayshade<#2046#><#33#>, and their feedback showed that the project might indeed have a future. In the Fall of 1988, Przemyslaw Prusinkiewicz encouraged me to develop <#34#><#2048#>rayshade<#2048#><#34#> further, and was, as always, full of ``insanely great'' ideas. The resulting version of <#35#><#2050#>rayshade<#2050#><#35#> was released on Usenet in 1989. Allan Snider was particularly helpful in finding bugs in version 3.0 and in making valuable suggestions as to how the program might be improved.

<#36#><#2052#>Rayshade<#2052#><#36#> version 4.0 was written by Craig Kolb and Rod Bogart during 1990-1991, with contributions of ideas and code made by many others. Pat Hanrahan's <#37#>OOGL<#37#> provided the spirit, if not the letter, of the modularity of the version 4.0. Thanks to Pat and to Mark VandeWettering for the ``net tracer'' conversations and for the inspiration to do something to clean up <#38#><#2054#>rayshade<#2054#><#38#>. Eric Haines saved the day on more than one occasion by suggesting improvements, finding bugs, and saying nice things about <#39#><#2056#>rayshade<#2056#><#39#> when I was all but ready to throw in the towel. Robert Skinner was kind enough to provide the <#40#>Noise()<#40#>, <#41#>DNoise()<#41#>, and other texturing functions and to allow them to be redistributed. Mark Podlipec provided the blob object and torus object, which uses Jochen Schwarze's cubic and quartic root-finding functions. Major Thanks to Rod Bogart for being willing to take the plunge and play such a large role in the development of version 4.0. I am most grateful to Benoit Mandelbrot for his support of this project and the inspiration he provided.

#tex2html_wrap_inline5625#

This is not an official release of Rayshade, but it has been a long time since there was an official release. So, here you have it, version 4.1, hopefully bug-free. It's not. I'm certain of it. So, please mail patches to me <#46#>;SPMlt;explorer@iastate.edu;SPMgt;<#46#> with diffs run from this source for any changes, additions, etc. I will try to maintain this as long as possible, but I'm still an undergrad hoping to get out eventually. :)

The release has two additional directories, <#47#>FIXES<#47#> and <#48#>UNAPPLIED<#48#>. The <#49#>FIXES<#49#> directory contains all the patches and additions which have been applied. These may not simply be applied to 4.0.6 in the order shown because they are not all taken from the same original 4.0.6 release. This is the main reason I made this release.

The <#50#>UNAPPLIED<#50#> directory contains patches I either cannot test or did not apply for some other reason. If someone would like to apply any of these to this release and tell me if they work or do not, I will apply them as well.

Since Craig Kolb has not blessed this release, please report all problems you have with this release to me, and I will <#51#>try<#51#> to help you out.

#tex2html_wrap_inline5626#
#./preface.tex#